------------------------------------------------------------------------- Manual MAKECPX version 1.02 (C) Noud van Kruysbergen 18/05/92 ------------------------------------------------------------------------- 1. Introduction Atari's with a new TOS version do not use the old Control Panel any more, but XCONTROL is delivered with the ST/TT. This accessory can start Control Panel modules, known as CPX files. These CPX files have to use a special format, and one of the things they need to have is a header with information that XCONTROL uses to show the CPX module in its selectbox. This header information can not easily be created by a compiler and/or linker, but has to be build up 'manually', and afterwards concatenated to the program (or actually, the program has to be concatenated to the header). Still makes sense? Information about how to create a CPX module can be obtained from different sources, which do not make sense on their own, but do provide all the necessary information when combined together. The Atari ST-STE-TT Profibuch (Jankowski, Rabich & Reschke) and some articles in the German ST-Computer magazin did the trick for me. 1.1 Texts XCONTROL wants from the CPX module the following information: - The name of the CPX module ('CPX Name'). - The text underneath the icon ('Icon Text') - The CPX identification ('CPX ID') - The version of the CPX module ('Version') 1.2 Graphics XCONTROL wants the following information concerning the icon: - The color of the 'CPX Name' text - The color of the 'Icon Text' text and the icon - The bitmap of the icon (32*24 pixels) 1.3 Variables XCONTROL finally needs information about the status of the CPX module ('Flags'): - This CPX module only sets variables once ('Set-Only') - Execute this CPX module at booting time ('BootInit') - Load this CPX module into memory ('Resident') 1.4 Definitions Please note the following definitions: a CPX module is a module that can be used right away by XCONTROL. a CPZ module is a CPX module that is inactivated, and therefore not loaded by XCONTROL. A CP module does not contain the header information (yet). A HDR file at last contains the header information and nothing else. Summary: HDR + CP = CPX. I will not go into detail about what all the information means and where it can be used for, because you have to know that yourself or otherwise this program is of no use to you! 2. The program. MAKECPX creates all this information and allows different types of storage. It is now time to start the program. All the words introduced between quote-marks in the Introduction section do appear in the dialog. The CPX Name, Icon Text, CPX ID and Version number are editable in a normal way. The color numbers can be changed by clicking on the arrows. Remember that not all possible 16 colors do make sense in all resolu- tions! The Flags can be set by clicking on the button after the text or by simply clicking on the text itself. If you want to edit the icon click on the 'Edit' button. A new dialog will appear with a 32*24 bitmap. Drawing the icon is rather straightforward. The color you are drawing with can be seen in the 'Operators' box. You can shift the icon up, down, left or right, flip it horizontal or vertical, invert or clear it by selecting the proper buttons. The color can be changed by pushing the rigth mouse button. You can also load or save the icon (as a ICN define file, which is supported by RCS2.PRG and Degas Elite for instance). In this dialog the buttons are also selectable by pressing a key: Load : 'L' |Save : 'S' |X : 'X |Y : 'Y' Up : Up arrow |Down : Down arrow|Left : Left arrow|Right : Right arrow Color : C |Invert : I |Erase : 0 |Cancel : Undo 'Cancel' will undo all the drawing done and return to the first dialog, 'Main' will keep the changes (if any) made to the icon. You can load the header information from a separate header ('HDR') or extract it from a CPX module ('CPX'). All the information will be shown and is ready for changes. After the changes are made or a new header is created it can be saved as a header only ('HDR'), it can be stored to a CPX module ('CPX') or a new CPX module can be created out of a CP file ('PRG -> CPX'). Note that in the latter case the program asks for a PRG file and not for a CP file as one would expect. This is mainly because compilers and/or linkers don't know about CP(X)s. Just create a PRG and MAKECPX will add the header and change the name to CPX. A new CPX module is then born. Note: N_PCSHEL.PRG is a GEM shell for Pure C which offers the possibility to use other editors (like TEMPUS) with Pure C, and also supports CPX modules. 3. About the program MAKECPX is written in (Pure) C, and is independent of resolution (although you'll have a problem with the ST low resolution) and independent of processor. The version 1.02 is the first official release; version 1.01 is the same except it uses a separate resource file. As far as I know there are no bugs; the program is programmed in a very neat way using GEM conventions where necessary. I can not accept any responsibility for the (mis)use of this program however. MAKECPX is a Public Domain program, meaning that you may copy it and use it for free. If you actually use and like it I would like some reward in the form of a postcard (I will not ask for shareware fees or money for sources and the like since I gave up getting rich a long time ago). If there are any wishes, complaints or remarks please let me know. Have fun. Noud van Kruysbergen Nijmegen Institute for Cognition and Information University of Nijmegen PO Box 9104 6500 HE Nijmegen the Netherlands email:kruysbergen@nici.kun.nl